package com.jungle.system.domain.bo;

import com.jungle.common.core.domain.MybatisBaseEntity;
import com.jungle.common.core.validate.AddGroup;
import com.jungle.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 地域业务对象 c_area
 *
 * @author caomin
 * @date 2022-11-13
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class CommonAreaBo extends MybatisBaseEntity {

    /**
     * id
     */
    @NotBlank(message = "id不能为空", groups = { EditGroup.class })
    private String id;

    /**
     * adcode
     */
    @NotBlank(message = "adcode不能为空", groups = { AddGroup.class, EditGroup.class })
    private String adCode;

    /**
     * 中心点
     */
    @NotBlank(message = "中心点不能为空", groups = { AddGroup.class, EditGroup.class })
    private String center;

    /**
     * 市code
     */
    @NotBlank(message = "市code不能为空", groups = { AddGroup.class, EditGroup.class })
    private String cityCode;

    /**
     * 国家code
     */
    @NotBlank(message = "国家code不能为空", groups = { AddGroup.class, EditGroup.class })
    private String countyCode;

    /**
     * 全名
     */
    @NotBlank(message = "全名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fullName;

    /**
     * 级别
     */
    @NotBlank(message = "级别不能为空", groups = { AddGroup.class, EditGroup.class })
    private String level;

    /**
     * 名称
     */
    @NotBlank(message = "名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String name;

    /**
     * 父级code
     */
    @NotBlank(message = "父级code不能为空", groups = { AddGroup.class, EditGroup.class })
    private String parentCode;

    /**
     * 范围数据
     */
    @NotBlank(message = "范围数据不能为空", groups = { AddGroup.class, EditGroup.class })
    private String polyline;

    /**
     * 省级code
     */
    @NotBlank(message = "省级code不能为空", groups = { AddGroup.class, EditGroup.class })
    private String provinceCode;

    /**
     * 镇code
     */
    @NotBlank(message = "镇code不能为空", groups = { AddGroup.class, EditGroup.class })
    private String townCode;

    /**
     * code
     */
    @NotBlank(message = "code不能为空", groups = { AddGroup.class, EditGroup.class })
    private String code;

    /**
     * 是否改变
     */
    @NotBlank(message = "是否改变不能为空", groups = { AddGroup.class, EditGroup.class })
    private String change;

    /**
     * 排序
     */
    @NotNull(message = "排序不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long index;

    /**
     * 备注
     */
    @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
    private String remarks;

    /**
     * 短编码
     */
    @NotBlank(message = "短编码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shortCode;


}
